package middleware

import (
	"fmt"
	"webstack/util"

	"github.com/gin-gonic/gin"
)

func CheckToken(c *gin.Context) {
	token := c.DefaultQuery("_token", "")
	_, err := util.ParseToken(token)
	if err != nil {
		fmt.Printf("parse token fail:%v", err)
		c.JSON(200, gin.H{
			"errcode": -1,
			"errmsg":  "非法token",
		})
		c.Abort()
		return
	}

	c.Set("token", token)

	c.Next()
}

func SetToken(c *gin.Context) {
	token := c.DefaultQuery("_token", "")
	_, err := util.ParseToken(token)
	if err == nil {
		c.Set("token", token)
	}

	c.Next()
}
